#include "process.h"
#include <string.h>
#include <unistd.h>

#define NUM 101
#define STYLE '#'

//version2
void FlushProcess(double total,double current)
{
     char buffer[NUM];
     memset(buffer,0,sizeof(buffer));
     const char *lable="|/-\\";
     int len = strlen(lable);

     static int cnt = 0;
     int num = (int)(current*100/total);
     int i = 0;
     for(;i < num ; i++)
     {
	buffer[i] = STYLE;
     }
     double rate = current/total;
     cnt %= len;
     printf("[%-100s][%.1f%%][%c]\r",buffer,rate*100,lable[cnt]);
     cnt++;
     fflush(stdout);
}



// 无法使用
void process_v1()
{
    char buffer[NUM];
    memset(buffer, 0, sizeof(buffer));
    const char *lable="|/-\\";
    int len = strlen(lable);

    int cnt = 0;
    while(cnt <= 100)
    {
        printf("[%-100s][%d%%][%c]\r", buffer, cnt, lable[cnt%len]);
        fflush(stdout);
        buffer[cnt]= STYLE;
        cnt++;
        usleep(50000);
    }
    printf("\n");
}
